const arr=[1,2,3,4,5,6], date = new Date(), num=1,str="字符串";




// executionM("原生js判断类型",function(){
//   console.log("date",typeof date);
//   console.log("arr",typeof arr);
//   console.log("num",typeof num);
//   console.log("str",typeof str);
// });

// executionM("lodash判断类型",function(){
//   console.log("date",_.isDate(date));
//   console.log("arr",_.isArray(arr));
//   console.log("num",_.isNumber(num));
//   console.log("str",_.isString(str));
// });

const obj = {'a':{'b':{'c':2}}};
// executionM("判断对象存在属性",function(){
//   console.log(_.has(obj,'c'));
//   console.log(_.has(obj,'a.b'));
//   console.log(_.has(obj,['a','b','c']));
// });

// executionM("获取对象属性",function(){
//   console.log(_.get(obj,'c','not found'));
//   console.log(_.get(obj,'a.b'));
// });

// var oob = { 'a': [{ 'b': { 'c': 3 } }] };

// executionM("设置对象属性",function(){
//   console.log(_.set(oob,'a[0].b.c','gsd'));
//   console.log(_.get(oob,'a[0].b.c'));
 
// });

// var ott1 = { 'a': 'tt' };
// var ott2 = { 'a': 'tt' };

// executionM("判断相等",function(){
//    console.log(_.isEqual(ott1,ott2));
//    console.log(ott1 === ott2);
// });




// var ttarr = [{a:1},{b:2},"cc"];

// executionM("lodash浅拷贝",function(){
//    let ccarr = _.clone(ttarr);
//    console.log(ccarr[2])
//    ccarr[2]="444";
//    console.log(ccarr[2],ttarr[2]);
// });

// executionM("lodash深拷贝",function(){
//   let ccarr = _.cloneDeep(ttarr);
//   console.log(ccarr[2])
//   ccarr[1]="444";
//   console.log(ccarr[1],ttarr[1]);
// });


var _obj = {
  width:200,
  height:500,
  zip:true
}

executionM("覆盖对象属性",function(){
   let newOo = _.merge(_obj,{
      width:330,
      zip:false
   });
   console.log("方法会改变object");
   console.log(newOo,_obj);
});